package yl.hs.bmipfull.service.system;

import yl.hs.bmipfull.service.IBaseService;
import yl.hs.bmipfull.utils.datastate.ActiveDeviceType;
import yl.hs.bmipfull.viewmodels.system.ActiveStateModel;

/*
 * IActiveServcie 系统激活接口
 * @category 系统激活
 * @author 谢景广
 * @date 2022-05-11
 */
public interface IActiveService {
    /**
     * 离线激活函数
     * @param code 激活码
     * @param type 激活平台类型
     * @return 激活结果
     * @throws Exception 激活过程中发生的异常
     */
    int active(String code, ActiveDeviceType type) throws Exception;

    /**
     * 获取当前系统的可用时间
     * @return 可用天数
     * @throws Exception 获取信息过程中发生的异常
     */
    ActiveStateModel getAvailableDays(ActiveDeviceType type) throws Exception;

    /**
     * 在线系统激活函数
     * @return 激活结果
     * @throws Exception 激活过程中发生的异常
     */
    int onlineActive() throws Exception;

    void onlineERPMobileActive();
    void onlineDealerActive();
    void onlineConstructionActive();
    void onlineSupplierActive();
    void onlineDriverActive();
    /**
     * 判断车辆保险到期发送消息
     * @throws Exception 保存中发生的异常
     */
    void saveCarNews();
}
